#ifndef GLACTIONCHAIN_H
#define GLACTIONCHAIN_H
#include <vector>
#include "GlAction.h"
#include "GlGuiEvent.h"

using namespace std;


class GlWidget;



class GlActionChain
{

private:
  
  GlGuiEvent * _pRelatedEvent;
  vector< GlAction * > _actions;
  GlWidget * _pRelatedWidget;

public:

  GlActionChain (GlWidget * pRelatedWidget);
  GlActionChain (GlWidget * pRelatedWidget, int eventType);
  GlActionChain (GlActionChain & arg);
  virtual ~GlActionChain ();


  void addAction (GlAction * pAction); 

  void performActions(GlGuiEvent & e);

  virtual void setRelatedEvent (const GlGuiEvent * pRelatedEvent);

};  //end class GlActionChain



#endif
